// ------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
// Licensed under the MIT License (MIT). See License.txt in the repo root for license information.
// ------------------------------------------------------------

#pragma once

//
// External Header Files required by API wrappers header files
//

#include "Common/Common.h"

#include "FabricCommon.h"
#include "FabricRuntime.h"
#include "FabricRuntime_.h"
#include "FabricClient.h"
#include "FabricClient_.h"
#include "FabricImageStore_.h"
#include "FabricServiceCommunication_.h"
#include "FabricTransport_.h"
#include "api/definitions/ApiDefinitions.h"
#include "Management/RepairManager/RepairManager.External.h"
#include "Communication/TcpServiceCommunication/ServiceCommunicationTransportSettings.h"
#include "Transport/Transport.h"
#include "Communication/TcpServiceCommunication/ServiceCommunicationClientFactory.h"

//
// api wrappers Public Header Files
//

#include "api/wrappers/TcpServiceMessageHeaders.h"
#include "api/wrappers/FabricTransportMessageHeader.h"
#include "api/wrappers/Constants.h"
#include "api/wrappers/ComStringMapResult.h"
#include "api/wrappers/ComConversionUtility.h"
#include "api/wrappers/ComGetAclResult.h"
#include "api/wrappers/ComGetDeployedServiceReplicaDetailResult.h"
#include "api/wrappers/ComQueryResult.h"
#include "api/wrappers/ComClusterHealthResult.h"
#include "api/wrappers/ComNodeHealthResult.h"
#include "api/wrappers/ComApplicationHealthResult.h"
#include "api/wrappers/ComServiceHealthResult.h"
#include "api/wrappers/ComPartitionHealthResult.h"
#include "api/wrappers/ComReplicaHealthResult.h"
#include "api/wrappers/ComDeployedApplicationHealthResult.h"
#include "api/wrappers/ComDeployedServicePackageHealthResult.h"
#include "api/wrappers/ComGetClusterHealthChunkResult.h"
#include "api/wrappers/ComClientSettingsResult.h"
#include "api/wrappers/ComGetRollingUpgradeMonitoringPolicyResult.h"
#include "api/wrappers/ComStatelessServiceFactory.h"
#include "api/wrappers/ComStatelessServiceInstance.h"
#include "api/wrappers/ComStatefulServiceFactory.h"
#include "api/wrappers/ComStatefulServiceReplica.h"
#include "api/wrappers/ComStateProvider.h"
#include "api/wrappers/ComTransactionBase.h"
#include "api/wrappers/ComTransaction.h"
#include "api/wrappers/ComKeyValueStoreReplica.h"
#include "api/wrappers/ComKeyValueStoreEnumerator.h"
#include "api/wrappers/ComKeyValueStoreItemEnumerator.h"
#include "api/wrappers/ComKeyValueStoreItemMetadataEnumerator.h"
#include "api/wrappers/ComKeyValueStoreNotificationEnumerator.h"
#include "api/wrappers/ComKeyValueStoreItemMetadataResult.h"
#include "api/wrappers/ComKeyValueStoreItemResult.h"
#include "api/wrappers/ComKeyValueStoreNotification.h"
#include "api/wrappers/ComStoreEventHandler.h"
#include "api/wrappers/ComStoreItemEnumerator.h"
#include "api/wrappers/ComStoreItemMetadataEnumerator.h"
#include "api/wrappers/ComKeyValueStoreReplicaFactory.h"
#include "api/wrappers/ComInfrastructureServiceAgent.h"
#include "api/wrappers/ComInfrastructureServiceAgentFactory.h"
#include "api/wrappers/ComTokenValidationServiceAgent.h"
#include "api/wrappers/ComTokenValidationServiceAgentFactory.h"
#include "api/wrappers/ComResolvedServicePartitionResult.h"
#include "api/wrappers/ComServiceEndpointsVersion.h"
#include "api/wrappers/ComServiceNotification.h"
#include "api/wrappers/ComProxyServiceNotificationEventHandler.h"
#include "api/wrappers/ComServiceDescriptionResult.h"
#include "api/wrappers/ComApplicationUpgradeProgressResult.h"
#include "api/wrappers/ComComposeDeploymentUpgradeProgressResult.h"
#include "api/wrappers/ComFabricUpgradeProgressResult.h"
#include "api/wrappers/ComNameEnumerationResult.h"
#include "api/wrappers/ComNamedPropertyMetadata.h"
#include "api/wrappers/ComNamedProperty.h"
#include "api/wrappers/ComEnumeratePropertiesResult.h"
#include "api/wrappers/ComPropertyBatchResult.h"
#include "api/wrappers/ComServiceGroupDescriptionResult.h"
#include "api/wrappers/ComFabricClient.h"
#include "api/wrappers/LocationChangeCallbackAdapter.h"
#include "api/wrappers/ComGetApplicationListResult.h"
#include "api/wrappers/ComGetApplicationNameResult.h"
#include "api/wrappers/ComGetApplicationTypeListResult.h"
#include "api/wrappers/ComGetApplicationTypePagedListResult.h"
#include "api/wrappers/ComGetDeployedApplicationListResult.h"
#include "api/wrappers/ComGetDeployedApplicationPagedListResult.h"
#include "api/wrappers/ComGetDeployedCodePackageListResult.h"
#include "api/wrappers/ComGetDeployedReplicaListResult.h"
#include "api/wrappers/ComGetDeployedServiceManifestListResult.h"
#include "api/wrappers/ComGetDeployedServiceTypeListResult.h"
#include "api/wrappers/ComGetComposeDeploymentStatusListResult.h"
#include "api/wrappers/ComGetNodeListResult.h"
#include "api/wrappers/ComGetPartitionListResult.h"
#include "api/wrappers/ComGetRepairListResult.h"
#include "api/wrappers/ComGetReplicaListResult.h"
#include "api/wrappers/ComGetReplicatorStatusResult.h"
#include "api/wrappers/ComGetServiceListResult.h"
#include "api/wrappers/ComGetServiceGroupMemberListResult.h"
#include "api/wrappers/ComGetServiceNameResult.h"
#include "api/wrappers/ComGetServiceTypeListResult.h"
#include "api/wrappers/ComGetServiceGroupMemberTypeListResult.h"
#include "api/wrappers/ComNativeImageStoreClient.h"
#include "api/wrappers/ComProxyNativeImageStoreProgressEventHandler.h"
#include "api/wrappers/ComGetClusterLoadInformationResult.h"
#include "api/wrappers/ComGetPartitionLoadInformationResult.h"
#include "api/wrappers/ComGetProvisionedFabricCodeVersionListResult.h"
#include "api/wrappers/ComGetProvisionedFabricConfigVersionListResult.h"
#include "api/wrappers/ComGetNodeLoadInformationResult.h"
#include "api/wrappers/ComGetReplicaLoadInformationResult.h"
#include "api/wrappers/ComGetUnplacedReplicaInformationResult.h"
#include "api/wrappers/ComEseLocalStoreSettingsResult.h"
#include "api/wrappers/ComKeyValueStoreReplicaSettingsResult.h"
#include "api/wrappers/ComKeyValueStoreReplicaSettings_V2Result.h"
#include "api/wrappers/ComSharedLogSettingsResult.h"
#include "api/wrappers/ComStatefulServiceReplicaStatusResult.h"
#include "api/wrappers/ComGatewayInformationResult.h"
#include "api/wrappers/ComGetApplicationLoadInformationResult.h"
#include "api/wrappers/ComProxyClientConnectionEventHandler.h"
#include "api/wrappers/ComProxyStatelessServiceFactory.h"
#include "api/wrappers/ComProxyTransactionBase.h"
#include "api/wrappers/ComProxyTransaction.h"
#include "api/wrappers/ComProxyStoreEventHandler.h"
#include "api/wrappers/ComProxySecondaryEventHandler.h"
#include "api/wrappers/ComProxyInfrastructureService.h"
#include "api/wrappers/ComFabricInvokeDataLossProgressResult.h"
#include "api/wrappers/ComFabricInvokeQuorumLossProgressResult.h"
#include "api/wrappers/ComFabricRestartPartitionProgressResult.h"
#include "api/wrappers/ComFabricRestartNodeResult.h"
#include "api/wrappers/ComFabricStartNodeResult.h"
#include "api/wrappers/ComFabricStopNodeResult.h"
#include "api/wrappers/ComFabricRestartDeployedCodePackageResult.h"
#include "api/wrappers/ComFabricMovePrimaryResult.h"
#include "api/wrappers/ComFabricMoveSecondaryResult.h"
#include "api/wrappers/ComGetTestCommandStatusResult.h"
#include "api/wrappers/ComFabricOrchestrationUpgradeStatusResult.h"
#include "api/wrappers/ComFabricUpgradeOrchestrationServiceStateResult.h"
#include "api/wrappers/ComFabricNodeTransitionProgressResult.h"
#include "api/wrappers/ComDataLossHandler.h"

// Chaos
#include "api/wrappers/ComFabricChaosReportResult.h"
#include "api/wrappers/ComFabricClientFASResource.h"

#include "api/wrappers/ComFaultAnalysisServiceAgent.h"
#include "api/wrappers/ComFaultAnalysisServiceAgentFactory.h"

#include "api/wrappers/ComUpgradeOrchestrationServiceAgent.h"
#include "api/wrappers/ComUpgradeOrchestrationServiceAgentFactory.h"

#include "api/wrappers/ComProxySystemServiceBase.h"
// BackupRestore
#include "api/wrappers/ComBackupRestoreServiceAgent.h"
#include "api/wrappers/ComBackupRestoreServiceAgentFactory.h"

#include "api/wrappers/ComProxyFaultAnalysisService.h"
#include "api/wrappers/ComProxyUpgradeOrchestrationService.h"
#include "api/wrappers/ComProxyBackupRestoreHandler.h"
#include "api/wrappers/ComProxyBackupRestoreService.h"
#include "api/wrappers/ComProxyTokenValidationService.h"
#include "api/wrappers/ComProxyStorePostBackupHandler.h"
#include "api/wrappers/ComFabricClientConnection.h"
#include "api/wrappers/ComProxyServiceConnectionEventHandler.h"
#include "api/wrappers/ComProxyServiceConnectionHandler.h"
#include "api/wrappers/ComFabricServiceCommunicationListener.h"
#include "api/wrappers/ComFabricServiceCommunicationListenerFactory.h"
#include "api/wrappers/ComProxyServiceCommunicationMessageHandler.h"
#include "api/wrappers/ComFabricServiceCommunicationMessage.h"
#include "api/wrappers/ComFabricSendRequestAsyncOperation.h"
#include "api/wrappers/ComFabricServiceCommunicationClient.h"
#include "api/wrappers/ComFabricServiceCommunicationClientFactory.h"
#include "api/wrappers/ComFabricTransportMessage.h"
#include "api/wrappers/ComFabricTransportMessageDisposeJobItem.h"
#include "api/wrappers/ComFabricTransportSendRequestAsyncOperation.h"
#include "api/wrappers/ComFabricTransportOpenAsyncOperation.h"
#include "api/wrappers/ComFabricTransportCloseAsyncOperation.h"
#include "api/wrappers/ComFabricTransportClient.h"
#include "api/wrappers/ComProxyFabricTransportDisposer.h"
#include "api/wrappers/ComProxyFabricTransportMessageHandler.h"
#include "api/wrappers/ComFabricTransportClientConnection.h"
#include "api/wrappers/ComProxyFabricTransportConnectionHandler.h"
#include "api/wrappers/ComFabricTransportListener.h"
#include "api/wrappers/ComProxyFabricTransportCallbackMessageHandler.h"
#include "api/wrappers/ComProxyFabricTransportClientEventHandler.h"
#include "api/wrappers/ComFabricTransportClientFactory.h"
#include "api/wrappers/ComFabricTransportListenerFactory.h"
#include "api/wrappers/ComContainerActivatorServiceAgent.h"
#include "api/wrappers/ComProxyContainerActivatorService.h"

#include "api/wrappers/WrapperFactory.h"
